Predicting Worst Case Execution Times on a Pipelined RISC Processor
نویسندگان
چکیده
A key step in analyzing and reasoning about the performance of realtime systems is the derivation of the worst case execution time of a program or program fragment. Modern computer systems with pipelined processors, caches, DMA, etc., can complicate this process. We demonstrate that pipelining need not be considered to be a barrier to the computation of useful worst case execution time bounds of programs by developing a simple method for accounting for the speed-up due to pipelining in an implementation of the Sparc RISC processor architecture. The method is applied to several non-trivial program fragments and is capable of accurately measuring worst case execution time even when programs are delayed by interrupt processing. 1 . Introduction The correctness of real-time systems depends on the satisfaction of both logical and temporal constraints. An important component of evaluating whether a program meets its temporal constraints is prediction of the execution time of the entire program or some component of the program. In particular, for the class of hard real-time systems where stochastic measures are unacceptable, the determination of worst case execution time is an important problem. Knowledge of worst case execution times are required to apply the feasibility tests associated with real-time scheduling algorithms and models (e.g., [7, 8, 9]), to effectively use prototyping and system analysis systems (e.g., [10]), and to use program logics to reason about real-time programs (e.g., [2]). Several features of current computing environments conspire to make the determination of useful (i.e., non-overly pessimistic) worst case execution times a difficult problem. Most programs are written in a higher level language, but at the source code level, identical statements will often be translated into very different machine instructions leading to wide variability of execution time. A worst case analysis must necessarily select the worst. Even at the machine instruction level, there may be variability in the execution time of particular instructions. Hardware architectures add to the non-determinism. Virtual memory, caches,
منابع مشابه
An Accurate Worst Case Timing Analysis Technique for RISC Processors
An accurate and safe estimation of a task's worst case execution time (WCET) is crucial for reasoning about the timing properties of real-time systems. In RISC processors , the execution time of a program construct (e.g., a statement) is aaected by various factors such as cache hits/misses and pipeline hazards, and these factors impose serious problems in analyzing the WCETs of tasks. To analyz...
متن کاملPortable Execution Time Analysis for RISC Processors
The knowledge of a task’s worst case execution time (WCET) is required for scheduling real-time tasks. Existing execution time analyzers are machine dependent and this is a serious problem as architectures evolve rapidly. In this paper, we present a tool for portable execution time analysis for RISC processors. This tool generates an execution time analyzer for any RISC processor. The analyzer ...
متن کاملTowards a Time-predictable Dual-Issue Microprocessor: The Patmos Approach
Current processors are optimized for average case performance, often leading to a high worst-case execution time (WCET). Many architectural features that increase the average case performance are hard to be modeled for the WCET analysis. In this paper we present Patmos, a processor optimized for low WCET bounds rather than high average case performance. Patmos is a dualissue, statically schedul...
متن کاملComputation of WCET using Program Slicing and Real-Time Model-Checking
We address the problem of computing accurate Worst-Case Execution Time (WCET) on pipelined architectures with caches. We propose a fully automatic and modular methodology based on program slicing and real-time modelchecking. We have implemented our methodology and applied it to standard benchmarks. To further validate the approach, we also compare our results to the real execution times of the ...
متن کاملThe Effect of Cache on the Performance of a Multi-Threaded Pipelined RISC Processor
This paper examines the effects of multithreaded pipelining on the CPI (cycles per instruction) of a RISC processor. The desired CPI in a conventional (single-threaded) RISC processor is one instruction per cycle. However, the CPI is typically more than one because of data hazards, control hazards, and resource hazards in the pipeline. A multi-threaded processor performs a context switch betwee...
متن کامل